package com.rs.dao;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.rs.model.Document;
import com.rs.model.Project;
import com.rs.model.Relation;


@Mapper
public interface DocumentMapper {
	int deleteByPrimaryKey(Integer do_id);

	int insert(Document record);

	Document selectByPrimaryKey(Integer do_id);

	List<Document> selectAll();

	int updateByPrimaryKey(Document record);

	/**************App**********/

	//判断上传人是否为该项目参与者
	Relation judgeUpUserRelation(@Param(value = "do_uid") Integer do_uid, @Param(value = "do_prid") Integer do_prid);

	//判断上传的文件名是否重复
	Document selectDocByDoname(String do_name);

	//文件上传
	int documentUploadApp(Document document);

	//查看用户的所有上传文档
	List<Document> documentViewUserUpFileApp(Integer u_id);

	//查询所有的项目名称
	List<Project> doucumenLookAllProApp();

	//查询项目下的所有文档
	List<Document> doucumenLookProAllDouApp(Integer pr_id);

	//通过do_id查询文档对象
	Document selectDoucumenByDoid(Integer do_id);

	//通过di_id和删除人id查询
	Document selectDocumentByDoidUid(Map<String, Integer> map);

	/***********PC************/
	//查询所有的文档记录
	List<Document> doucumenLookAllPc();

	//条件查询文档
	List<Document> doucumenConditionsPc(Document document);

	//按照上传时间查询文档
	List<Document> documenUploadTimeQueryPc(@Param("startTime") Date startTime, @Param("endTime") Date endTime);

}